8. K8S 之常用命令

8. K8S 之常用命令

1. 查看类命令

获取节点相应服务的信息
kubectl get nodes

如果需要按selector名来查找相应的pod信息, 可以通过以下命令查看:

1
kubectl get pod --selector name=tomcat

查看K8S集群信息

1
kubectl cluster-info

查看各组件信息

1
kubectl -s http://localhost:8080 get componentstatuses

查看pods所在的运行节点

1
kubectl get pods -o wide

如果需要通过某个命名空间查找节点信息, 可以通过以下命令查看:

1
2
3
kubectl get pods -o wide -n kube-system
-o wide 选项表示展示更多的Pod节点信息
-n <命名空间> 表示查询该命名空间下的Pod节点信息

如果需要查找所有命名空间下的所有Pod信息, 可以通过以下命令:

1
2
3
4
kubectl get pods --all-namespaces

kubectl get pods --all-namespaces -o wide
# -o wide表示列出更多的详细信息 很多命令都通用

查看pods定义的详细信息

1
kubectl get pods -o yaml

查看运行的pod的环境变量

1
kubectl exec <pod名称> env

查看指定pod的日志

1
kubectl logs -f pods/<pod名称> -n kube-system

查看集群节点信息

1
kubectl get nodes

如果需要查看集群名称为zone下的集群节点信息, 可以使用以下命令:

1
kubectl get nodes -l zone

查看某个命名空间(如kube-system)下的所有service

1
kubectl get services kubernetes-dashboard -n kube-system

查看某个命名空间(如kube-system)下的所有发布信息

1
kubectl get deployment kubernetes-dashboard -n kube-system

查看资源信息
根据service名查看资源信息

1
kubectl describe service/kubernetes-dashboard --namespace="kube-system"

根据pod名称查看资源信息

1
2
kubectl describe pods/kubernetes-dashboard-349859023-g6q8c --namespace="kube-system"
kubectl describe pod nginx-772ai

2. 操作类命令

创建资源

1
kubectl create -f <文件名.yaml>

重建资源

1
kubectl replace -f <文件名 [--force]

删除资源
强制删除某个文件名命名节点

1
kubectl delete -f <文件名>

删除某个Pod命令节点

1
kubectl delete pod <pod名>

删除某个Replication Controller命名节点

1
kubectl delete rc <rc名>

删除某个服务命名节点

1
kubectl delete service <service名>

删除所有Pod节点

1
kubectl delete pod --all

动态伸缩操作
为Replcation Controller名称为nginx动态扩展5个服务节点

1
kubectl scale rc nginx --replicas=5

为redis-slave部署5 个服务节点

1
kubectl scale deployment redis-slave --replicas=5

为redis-slave-deployment.yaml部署脚本下的服务扩展2个节点

1
kubectl scale --replicas=2 -f redis-slave-deployment.yaml

进入Pod节点容器内进行操作

1
kubectl exec -it redis-master-1033017107-q47hh /bin/bash

Pod节点容器标签操作
增加Node节点label值

1
kubectl label nodes node1 zone=north

增加Pod的label值 [key]=[value]

1
kubectl label pod <pod-name> role=master

删除Pod的label值(使用“ - ”减号相连)

1
kubectl label pod <pod-name> role- # role 是某个label的key

修改Pod的label值

1
kubectl label pod redis-master-1033017107-q47hh role=backend --overwrite

滚动升级
配置文件滚动升级

1
kubectl rolling-update redis-master -f redis-master-controller-v2.yaml

命令升级

1
kubectl rolling-update redis-master --image=redis-master:2.0

Pod版本回滚

1
kubectl rolling-update redis-master --image=redis-master:1.0 --rollback

更多常用命令

文章作者: 海龟先生
文章链接: http://haiguixiansheng.org.cn/2020/04/15/8. K8S之常用命令/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 海龟先生
打赏
  • 微信
  • 支付宝

评论